package com.wisemoresystem.seal.util.abchinaFinger.cics;

import com.wisemoresystem.seal.util.abchinaFinger.common.StringUtil;

public class FingerRequest {

	// 农行指纹登录
	// 公有区报文：【2位省号】+【4位行号】+【4位柜员】+【0000】+【YYYYMMDDHHMMSS】+【4位应用标识】+【4交易标识】
	// 应用标识填 KZXH；交易标识 ，柜员签到 vs03 主管签到 vs04
	// 私有区报文：【2位省号】+【4位行号】+【4位柜员】+【10位厂商标识】+【344指纹信息】

	private String szProNo; // 2位省代码 山西04
	private String szTeller; // 4位密码认证柜员号
	private String szBrno; // 4位行号（网点编号）
	private String szDateTime; // YYYYMMDDHHMMSS
	private String szApplcation; // 应用类型，用KZXH
	private String szTransID; // 交易码 ，柜员签到 vs03 主管签到 vs04
	private String szDevFactoryID; // 10位厂商代码
									// 维尔，编码为WELLCOM；中正，编码为MIAXIS;天诚，TECHSHINO，位数不够用空格补齐
	private String szSingVal; // 344位指纹信息

	public FingerRequest() {
		szApplcation = "KZXH"; // 抄的其他系统，未知含义，可用
	}

	public String toString() {
		StringBuffer szResult = new StringBuffer();
		try {
			// 公共报文
			szResult.append(StringUtil.getFixedLengthString(szProNo, 2));
			szResult.append(StringUtil.getFixedLengthString(szBrno, 4));
			szResult.append(StringUtil.getFixedLengthString(szTeller, 9, '0',
					StringUtil.ALIGNLEFT));
			szResult.append(StringUtil.getFixedLengthString(szDateTime, 14));

			szResult.append(" " + szApplcation + " " + szTransID + " ");// 4位应用标示+4位交易标示

			// 私有报文
			szResult.append(StringUtil.getFixedLengthString(szProNo, 2));
			szResult.append(StringUtil.getFixedLengthString(szBrno, 4));
			szResult.append(StringUtil.getFixedLengthString(szTeller, 4));
			szResult.append(StringUtil.getFixedLengthString(szDevFactoryID, 10));
			szResult.append(StringUtil.getFixedLengthString(szSingVal, 344));

		} catch (Exception e) {
			e.printStackTrace();
		}
		return szResult.toString();

	}

	public String getSzProNo() {
		return szProNo;
	}

	public void setSzProNo(String szProNo) {
		this.szProNo = szProNo;
	}

	public String getSzTeller() {
		return szTeller;
	}

	public void setSzTeller(String szTeller) {
		this.szTeller = szTeller;
	}

	public String getSzBrno() {
		return szBrno;
	}

	public void setSzBrno(String szBrno) {
		this.szBrno = szBrno;
	}

	public String getSzDateTime() {
		return szDateTime;
	}

	public void setSzDateTime(String szDateTime) {
		this.szDateTime = szDateTime;
	}

	public String getSzTransID() {
		return szTransID;
	}

	public void setSzTransID(String szTransID) {
		this.szTransID = szTransID;
	}

	public String getSzDevFactoryID() {
		return szDevFactoryID;
	}

	public void setSzDevFactoryID(String szDevFactoryID) {
		this.szDevFactoryID = szDevFactoryID;
	}

	public String getSzSingVal() {
		return szSingVal;
	}

	public void setSzSingVal(String szSingVal) {
		this.szSingVal = szSingVal;
	}

}
